package domain;

// Generated 08-ene-2009 0:57:32 by Hibernate Tools 3.2.2.GA

import static javax.persistence.GenerationType.IDENTITY;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Perfil generated by hbm2java
 */
@Entity
@Table(name = "perfil", catalog = "irestaurant")
public class Perfil implements java.io.Serializable {

	private Integer perfil;
	private Restaurante restaurante;
	private String nombre;
	private Set<Usuario> usuarios = new HashSet<Usuario>(0);

	public Perfil() {
	}

	public Perfil(String nombre) {
		this.nombre = nombre;
	}

	public Perfil(Restaurante restaurante, String nombre, Set<Usuario> usuarios) {
		this.restaurante = restaurante;
		this.nombre = nombre;
		this.usuarios = usuarios;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "perfil", unique = true, nullable = false)
	public Integer getPerfil() {
		return this.perfil;
	}

	public void setPerfil(Integer perfil) {
		this.perfil = perfil;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "restaurante")
	public Restaurante getRestaurante() {
		return this.restaurante;
	}

	public void setRestaurante(Restaurante restaurante) {
		this.restaurante = restaurante;
	}

	@Column(name = "nombre", nullable = false, length = 45)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "perfil")
	public Set<Usuario> getUsuarios() {
		return this.usuarios;
	}

	public void setUsuarios(Set<Usuario> usuarios) {
		this.usuarios = usuarios;
	}

}
